package demo;

public class IntegerDemo {
    public static void main(String[] args) {
        Integer intA = new Integer(10);
        Integer intB = new Integer(10);

        System.out.println(intA == intB); // false
        System.out.println(intA.equals(intB)); // true
        System.out.println("==============================");

        // -128 到 127 之间的数会从 IntegerCache 中取，然后比较，
        // 第二段代码（100 在这个范围之内）的结果是 true，
        // 第三段代码（200 不在这个范围之内，所以 new 出来了两个 Integer 对象）的结果是 false。
        Integer intC = 100;
        Integer intD = Integer.valueOf(100);
        System.out.println(intC == intD);  // true

        intC = 200;
        intD = Integer.valueOf(200);
        System.out.println(intC == intD);  // false
    }
}
